package generic;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ChangLiang
 * @date 2021/2/1
 */
public class ListMaker<T> {

    List<T> create() {
        /**
         * 编译器不会给出任何警告，尽管我们（从擦除中）知道在create()内部的new ArrayList<T>中的<T>被移除了
         * 一－在运行时，这个类的内部没有任何<T>，因此这看起来毫无意义。
         * 但是如果你遵从这种思路，并将这个表达式改为new Arraylist()， 编译器就会给出警告。
         */
        return new ArrayList<>();
    }

    public static void main(String[] args) {
        ListMaker<String> stringMaker = new ListMaker<>();
        List<String> stringList = stringMaker.create();
    }
}
